Instrucciones de carga
Estas instrucciones cargan el valor del operando, su inversa, su subida o su bajada, respectivamente, en el acumulador.
Instrucciones de asignación
Las dos primeras instrucciones asignan el valor del acumulador o su inversa en el operando.
Las dos últimas instrucciones setean o resetean el valor del operando dependiendo del resultado de la lógica previa.
Instrucciones lógicas AND
Estas instrucciones ejecutan un AND lógico entre el operando, (su inversa, su subida o su bajada), y el resultado booleano de la instrucción previa.
Instrucciones lógicas OR
Estas instrucciones ejecutan un OR lógico entre el operando, (su inversa, su subida o su bajada), y el resultado booleano de la instrucción previa.
Instrucciones lógicas XOR
Estas instrucciones ejecutan un OR exclusivo entre el operando, (su inversa, su subida o su bajada), y el resultado booleano de la instrucción previa.
Instrucción NOT
Esta instrucción niega el resultado booleano de la instrucción previa.
Uso de paréntesis
Las instrucciones AND y OR pueden usar paréntesis. La apertura va asociada con la instrucción AND u OR.
Por cada paréntesis abierto debe aparecer una instrucción de cierre de paréntesis.
Ejemplo:
LD %I0.0
AND( %I0.1
OR %I0.2
)
ST %Q0.0
(Gp:) %I0.0 %I0.1 %Q0.0
(Gp:) %I0.2
(Gp:) %I0.0 %I0.1 %Q0.0
(Gp:) %I0.2
LD %I0.0
AND %I0.1
OR %I0.2
ST %Q0.0
Uso de paréntesis
Se pueden agregar modificadores al paréntesis que abre:
N negación AND(N u OR(N
R subida AND(R u OR(R
F bajada AND(F u OR(F
[ comparación
Ejemplo:
LD %I0.0
AND %I0.1
OR(N %I0.2
AND %I0.3
)
ST %Q0.0
Uso de paréntesis
Se pueden anidar hasta 8 niveles de paréntesis.
No se deben ubicar rótulos ni subrutinas entre paréntesis.
No se deben ubicar instrucciones de bloques de función entre paréntesis.
No se deben ubicar instrucciones ST, STN, S y R entre paréntesis.
Bloques de función
Timers
Contadores
Manejan objetos de tipo:
Bit: Salidas del bloque
Palabra: Parámetros de configuración y valores actuales
Timers
(Gp:) %TMi
(Gp:) TYPE: TON
TB: 1 min
ADJ: y
%TMi.P: 9999
(Gp:) IN
(Gp:) Q
Timers: Tipos
Existen tres tipos:
TON: Para controlar acciones on-delay
TOF: Para controlar acciones off-delay
TP: Para crear pulsos de duración exacta
Timers: Características
Timer TON: Funcionamiento
El timer se inicia con una subida de IN.
El valor %TMi.V se incrementa de 0 a %TMi.P una unidad por cada pulso de duración TB.
%TMi.Q se hace 1 cuando %TMi.V alcanza a %TMi.P y %TMi.Q se hace 0 con una caída de IN.
Con una caída de IN el timer se detiene y %TMi.V vuelve a 0.
(Gp:) IN
(Gp:) Q
%TMi.P
%TMi.V
Timer TOF: Funcionamiento
Una subida de IN setea el valor de %TMi.V a 0.
Una caída de IN inicia el timer.
El valor %TMi.V se incrementa de 0 a %TMi.P una unidad por cada pulso de duración TB.
%TMi.Q se hace 1 con la subida de IN y %TMi.Q se hace 0 cuando %TMi.V llega a %TMi.P.
Es reseteado con una subida de IN (el timer se detiene y %TMi.V vuelve a 0).
(Gp:) IN
(Gp:) Q
(Gp:) %TMi.P
(Gp:) %TMi.V
Timer TP: Funcionamiento
Una subida de IN inicia el timer.
El valor %TMi.V se incrementa de 0 a %TMi.P una unidad por cada pulso de duración TB.
%TMi.Q se hace 1 al iniciarse el timer y %TMi.Q se hace 0 cuando %TMi.V llega a %TMi.P.
No puede ser reseteado.
Cuando %TMi.V llega a %TMi.P e IN está en 0, %TMi.V cae a 0.
(Gp:) IN
(Gp:) Q
(Gp:) %TMi.P
(Gp:) %TMi.V
Timers: Programación
(Gp:) LD %I0.0
IN %TM1
LD %TM1.Q
ST %Q0.3
(Gp:) %I0.0 %Q0.3
(Gp:) %TM1
(Gp:) IN
(Gp:) Q
Se deben configurar:
el tipo
TB
%TMi.P
Timers: Configuración
Contadores
Se usan para contar eventos en forma ascendente o descendente.
(Gp:) %Ci
(Gp:) %Ci.P: 9999
(Gp:) R
(Gp:) E
(Gp:) S
(Gp:) CU
(Gp:) CD
(Gp:) D
(Gp:) F
Contadores: Características
Contadores: Funcionamiento
Cuenta ascendente:
Una subida en CU, inicia el incremento de %Ci.V.
Cuando %Ci.V llega a %Ci.P, %Ci.D = 1.
Cuando %Ci.V pasa de 9999 a 0, %Ci.F=1, y vuelve a 0 si la cuenta sigue.
Cuenta descendente:
Una subida en CD, inicia el decremento de %Ci.V.
Cuando %Ci.V pasa de 0 a 9999, %Ci.E=1, y vuelve a 0 si la cuenta sigue.
Reset: Cuando esta entrada vale 1:
%C1.V=0, %Ci.E=0, %Ci.D=0 y %Ci.F=0. Esta entrada tiene prioridad.
Set: Cuando vale 1, si R está en 0:
%Ci.V=%Ci.P y %Ci.D=1.
Contadores: Programación
LD %I0.1
R %C8
LD %I0.2
AND %M0
CU %C8
LD %C8.D
ST %Q0.3
Se debe configurar %Ci.P.
(Gp:) %I0.1
(Gp:) %C8
(Gp:) R
(Gp:) E
(Gp:) S
(Gp:) CU
(Gp:) CD
(Gp:) D
(Gp:) F
(Gp:) %C8.D %Q0.3
(Gp:) %I0.2 %M0
Contadores: Configuración
Instrucciones de control
Fin de Programa
END: Fin incondicional del programa
ENDC: Fin del programa si el resultado de la operación previa es 1
ENDCN: Fin del programa si el resultado de la operación previa es 0
(Cuando se activa el fin de programa, se actualizan las salidas y se inicia el próximo scan).
Instrucción NOP
Se usa para reservar líneas para insertar luego instrucciones sin modificar los números de línea.
Instrucciones de control
Instrucciones de salto
JMP: Salto incondicional
JMPC: Salto si op. previa = 1
JMPCN: Salto si op. previa = 0
(Van seguidas por un rótulo %Li (0 ? i ? 15)
Ejemplo:
(Gp:) LD %M15
JMPC %L8
LD %I0.1
ST %M15
JMP %L12
%L8:
LD %M12
ST %M2
%L12:
LD %I0.0
No se pueden ubicar entre paréntesis.
El rótulo sólo puede ser seguido por LD, LDN, LDR, LDF o BLK.
Instrucciones de Subrutina
SRn
Llama a la subrutina referenciada por el rótulo SRn: si el resultado de la operación previa es 1.
RET
Se ubica al final de la subrutina. Provoca el retorno al programa principal.
No pueden ser ubicadas entre paréntesis.
Una subrutina no puede llamar a otra.
El rótulo sólo puede ser ubicado antes de un LD o BLK.
La llamada no puede ser seguida por una asignación (ST).
Operandos de tipo Palabra
Los objetos de tipo palabra son direccionados como palabras de 16 bits, que se almacenan en la memoria de datos y que pueden contener un valor entero entre 32768 y 32767.
Se almacenan en código binario de 16 bits. El bit 15 indica el signo (1? – , 0 ? +).
Se pueden ingresar o recuperar en formato:
Decimal (ej: 1579)
Hexadecimal (ej: 16#A536 o #A536)
Operandos de tipo Palabra
Bits extraídos de palabras: Es posible extraer uno de los 16 bits de algunas palabras.
Sintaxis: %palabra : Xk (0 ? k ? 15)
Ejemplo: %MW5:X6
Instrucciones numéricas
Generalmente se aplican a palabras de 16 bits.
Se escriben entre corchetes.
Se ejecutan si el resultado de la operación previa fue 1.
Instrucciones numéricas:Asignación
Instrucciones numéricas:Comparación
Instrucciones numéricas:Aritméticas
Instrucciones numéricas:Reglas
Suma
Overflow: %S18 = 1 y el resultado no es correcto.
Resta
Resultado negativo: %S17 = 1.
Multiplicación
Overflow: %S18 = 1 y el resultado no es correcto.
División / Resto (REM)
División por 0: %S18 = 1 y el resultado no es correcto.
Overflow: %S18 = 1 y el resultado no es correcto.
Raíz cuadrada
Operando negativo: %S18 = 1 y el resultado no es correcto.
Es responsabilidad del programador resetear los bits %S17 y %S18.
Software
El software PL707 puede ser utilizado para programar el PLC desde una PC, pero requiere la conexión del PLC a la PC.
Página anterior | Volver al principio del trabajo | Página siguiente |